package com.huilian.iotbox.admin.wap.service.impl;

import com.huilian.iotbox.admin.wap.dao.CommodityStoreUpDownDao;
import com.huilian.iotbox.admin.wap.service.CommodityStoreUpDownService;
import com.huilian.iotbox.admin.wap.service.DeviceService;
import com.huilian.iotbox.data.common.ServerResponse;
import com.huilian.iotbox.data.dto.CommodityStoreUpDownDto;
import com.huilian.iotbox.data.dto.DeviceDto;
import com.huilian.iotbox.data.enums.CommodityTypeEnum;
import com.huilian.iotbox.data.enums.DeviceTypeEnum;
import com.huilian.iotbox.data.exception.SysException;
import com.huilian.iotbox.data.po.CommodityProjectUpDownDatabase;
import com.huilian.iotbox.data.po.CommodityStoreUpDown;
import com.huilian.iotbox.data.vo.CommodityStoreUpDownVo;
import com.huilian.iotbox.data.vo.DeviceVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

@Service
public class CommodityStoreUpDownServiceImpl implements CommodityStoreUpDownService {
    @Resource
    private CommodityStoreUpDownDao commodityStoreUpDownDao;

    @Override
    public Integer insert(CommodityStoreUpDownDto cupd) {
        return commodityStoreUpDownDao.insert(cupd);
    }

    @Override
    public List<CommodityStoreUpDownVo> findByIdAndUserId(CommodityStoreUpDownDto cupd) {
        return commodityStoreUpDownDao.findByIdAndUserId(cupd);
    }

    @Override
    public Integer update(CommodityStoreUpDownDto cupd) {
        return commodityStoreUpDownDao.update(cupd);
    }

    @Override
    public CommodityStoreUpDownVo queryById(Long id) {
        return commodityStoreUpDownDao.queryById(id);
    }


    @Override
    public List<CommodityStoreUpDownVo> finAllCommodityStoreUpDownByPermission(CommodityStoreUpDownDto commodityStoreUpDownDto) {
        return commodityStoreUpDownDao.finAllCommodityStoreUpDownByPermission(commodityStoreUpDownDto);
    }

    @Override
    public Integer updateOffTheShelvesById(CommodityStoreUpDownDto commodityStoreUpDownDto) {
        return commodityStoreUpDownDao.updateOffTheShelvesById(commodityStoreUpDownDto);
    }


    @Override
    public CommodityStoreUpDown findOneCommodityStoreUpDownByCondition(CommodityStoreUpDown commodityStoreUpDownCondition) {
        return commodityStoreUpDownDao.findOneCommodityStoreUpDownByCondition(commodityStoreUpDownCondition);
    }

    @Override
    public CommodityStoreUpDownVo findById(Long id) {
        return commodityStoreUpDownDao.findById(id);
    }

}
